/*
*******************************************************************************
* 核心JAVASCRIPT工具集综合配置文件
* Author: Huang Hong
* Support: kevin.hongs@gmail.com, +8613718308220
* Version: 1.0
*
* 说明:
* 以"Err"结尾的为错误消息
* 以"Msg"结尾的为一般消息
* 以"Txt"结尾的为一般文本
* 其他为一般语言或参数定义
* 定义多行文本时行尾需要加"\"(不含引号)
*******************************************************************************
*/

/********************************** 语言定义 **********************************/

/** 错误消息 **/

self.jsonDecodeErr = "JSON解码错误, 无法识别的字串.";
self.ajaxRequestInitErr = "AJAX初始化错误, 您的浏览器不支持XMLHttpRequest.";
self.ajaxRequestEvalErr = "AJAX返回执行错误, 无法执行的字串.";
self.ajaxRequestStatusErr = {
  "0"     : "AJAX返回状态错误, 请稍后重试.",
  "12007" : "与服务器通讯(AJAX)故障, 请稍后再试.",
  "12029" : "与服务器通讯(AJAX)故障, 请稍后再试."
};
self.floatWindowNoIdErr = "缺少setContent的首参数ID(或SRC).";
self.floatWindowNoInnerDivErr = "找不到用于浮动窗内容区的指定ID的层.";
self.floatWindowNoInnerWindowErr = "无法获取浮动窗内联窗口对象, 可能无权访问请求的域.";
self.listActionOpenTypeErr = "错误的表单浮动窗打开类型.";
self.listActionNoTableErr = "缺少必要的Table.";
self.listActionNoCheckBoxErr = "缺少必要的CheckBox.";
self.formActionNoFormErr = "缺少必要的表单对象.";
self.formActionNoElementErr = "找不到指定名称的表单项.";
self.treeActionNoFormActionErr = "找不到对应的表单动作对象.";
self.treeActionNoResponseDataErr = "无法获取表单动作返回数据, 可能服务器端未响应请求.";

/** 按钮文字 **/

self.ensureBtnTxt = "确定";
self.cancelBtnTxt = "取消";
self.submitBtnTxt = "提交";
self.resetBtnTxt = "重置";
self.closeBtnTxt = "关闭";

/** 加载指示器 **/

self.loadingMsg = "载入中, 请稍侯...";
self.connectingMsg = "正在通讯, 请稍后...";
self.submittingMsg = "正在提交, 请稍候...";

self.loadingPercent = "进度:";
self.loadingRunSecond = "用时:";
self.loadingRemSecond = "剩余时间:";

/** 浮动窗组件 **/

self.floatWindowHelpMsg = "Hongs 浮动窗 - v9.12.14\r\n此为Hongs-CORE-js工具集的一部分, 版权所有";

/** 通讯相关 **/

self.successMsg = "操作成功!";
self.failedMsg = "操作失败!";

/** 列表相关 **/

self.delConfirmMsg = "您确定删除?";
self.delNoCheckedMsg = "请选择您要删除的行!";

/** 表单相关 **/

// 校验器消息
self.noEmptyMsg = "不能为空";
self.noEmpty2Msg = "必须选择";
self.isMinLengthMsg = "长度不能小于%n个字节(一个汉字长度为2个字节)";
self.isMaxLengthMsg = "长度不能大于%n个字节(一个汉字长度为2个字节)";
self.isMaxLengthMsg1 = "长度不能大于%n个字符";
self.isMinLengthMsg1 = "长度不能小于%n个字符";
self.isNumMsg = "必须为数字";
self.isIntMsg = "必须为整数";
self.isIntUnMsg = "必须为大于或等于0的整数";
self.isFloatMsg = "必须为整数或小数";
self.isFloatUnMsg = "必须为大于或等于0的整数或小数";
self.isAlphaMsg = "必须是字母";
self.isAlphaNumMsg = "必须是字母或数字";
self.isUrlMsg = "不是正确的URL格式";
self.isEmailMsg = "不是正确的Email格式";
self.isIpMsg = "不是正确的IP格式";
self.isIpv4Msg = "不是正确的IPv4格式";
self.isFtpPathMsg = "不是正确的路径";

// 附加校验器消息(请将附加校验器消息加于此处, 不要到处乱加)
self.isTelMsg = "不是正确的电话号码";
self.isPhoneMsg = "不是正确的座机号码";
self.isMobileMsg = "不是正确的手机号码";

// 辅助校验器消息(请将辅助校验器消息加于此处, 不要到处乱加)
self.isMinMsg = "不能小于%n";
self.isMaxMsg = "不能大于%n";
self.isRepeatMsg = "两次输入的不一致";
self.hasElementMsg = "数据已存在";

/** 树结构相关 **/

self.treeRootName = "我的树";
self.treeRootNote = "在节点名称上点击右键弹出操作菜单";

self.treeMoveMsg1 = "请选择您要移动到的位置(点击右键取消移动)";
self.treeMoveMsg2 = "您确定要将\"%n\"从\"%s\"移动到\"%d\"?";

self.canNotSetRootMsg = "根节点不能修改!";
self.canNotDelRootMsg = "根节点不能删除!";
self.canNotMoveToParentMsg = "目标位置与当前位置一致, 无需移动!";
self.canNotMoveToChildsMsg = "目标位置处于当前位置下, 无法移动!";

/********************************** 功能设置 **********************************/

/** 调试开关 **/

/**
 * 必要设置, 用于HONGS-CORE-JS完整校验
 * 值为true开启调试, 值为false关闭调试
 * 开启后输出错误消息的同时输出详细信息(如果有详细信息)
 */
self.debugOn = true;

/** 通讯相关设置 **/

self.resultMsgType = 0; // 返回消息方式: 0发出失败消息, 1发出成功消息, 2发出所有消息, 3不发出任何消息

/** 列表相关设置 **/

self.listHoverClass = "list_hover"; // 悬浮高亮样式
self.listLightClass = "list_light"; // 行高亮样式

/** 表单相关设置 **/

self.formRightClass = "form_right";
self.formErrorClass = "form_error";
self.formMsgExt = "_msg";
self.formBoxExt = "_box";

self.formTabIndex = 1; // 设置焦点顺序, 为0则不设置
self.formTabFocus = 1; // 设置焦点位置, 为0则不设置
self.formCheckType = 2; // 校验方式: 0为提交时校验, 1为数据改变时校验, 2为失去焦点时校验, 3为实时校验
self.formSubmitType = 0; // 提交方式: 0为利用IFRAME提交(异步), 1为AJAX异步发送, 2为AJAX同步发送

// 以下设置true或1发出正确消息, -1发出默认消息
self.formNoCheckReturn = -1; // 选填正确返回值
self.formNoEmptyReturn = -1; // 必填正确返回值
self.formRightReturn = -1; // 正确返回值

/** 浮动窗设置 **/

// 浮动窗边框误差设置
self.floatWindowTop = 37;
self.floatWindowLeft = 3;
self.floatWindowRight = 3;
self.floatWindowBottom = 3;

// 浮动窗内容区模板(id用于定位, 不能随便改变)
self.floatWindowTemplate = '\
<div style="box-shadow: 0 1px 10px rgba(0, 0, 0, 0.6);">\
    <table cellpadding="0" cellspacing="0" class="msgbox_title" id="hsFloatWindowTitleBar%ID%">\
      <tr>\
        <td class="box_top_lt"></td>\
        <td class="box_top_ct">\
          <table cellpadding="0" cellspacing="0" style="width:100%;height:100%;">\
            <tr>\
              <td align="left" class="hsFloatWindowMoveBar" id="hsFloatWindowMoveBar%ID%"></td>\
              <td class="hsFloatWindowCloseBtn" id="hsFloatWindowCloseBtn%ID%"></td>\
            </tr>\
          </table>\
        </td>\
        <td class="box_top_rt"></td>\
      </tr>\
    </table>\
    <div class="pop_cont">\
        <div class="hsFloatWindowContentBox" id="hsFloatWindowContentBox%ID%">&nbsp;</div>\
    <div>\
</div>\
';

/** 树结构设置 **/

// 树菜单
self.treeMenuHTML = '<ul>\
<li><a href="javascript:void(0);" onclick="self.TA.addNode();">创建子级</a></li>\
<li><a href="javascript:void(0);" onclick="self.TA.setNode();">修改</a></li>\
<li><a href="javascript:void(0);" onclick="self.TA.movNode();">移动</a></li>\
<li><a href="javascript:void(0);" onclick="self.TA.delNode();">删除</a></li>\
</ul>';
self.rootMenuHTML = '<ul>\
<li><a href="javascript:void(0);" onclick="self.TA.addNode();">创建子级</a></li>\
</ul>';
